home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
SGI Enlighten DSM 1.1
/
SGI EnlightenDSM 1.1.iso
/
hp10x
/
common.z
/
common
/
bin
/
p_swap
< prev
next >
Wrap
Text File
|
1998-06-30
|
5KB
|
257 lines
#!/bin/sh
#
# Copyright (c) 1990-1998 Enlighten Software Solutions, Inc.
# -- All Rights Reserved --
#
if test $# -lt 1
then
echo "Usage: $0 architecture"
echo
echo "Where architecture is one of:"
echo " AIX DGUX"
echo " HPUX OSF1"
echo " SCO SGI"
echo " SOLARIS SUN4"
echo " ULTRIX"
exit 1
fi
echo "HOSTNAME TOTAL USED FREE CAP (%)"
case "$1" in
AIX)
#
# IBM AIX
#
/usr/bin/hostname | /usr/bin/awk ' { printf ("%-14s ", $1); } '
case `/usr/bin/uname -v` in
3) pstat=/etc/pstat;;
4) pstat=/usr/sbin/pstat;;
*) pstat=pstat;;
esac
pagesize=`/usr/bin/pagesize`
($pstat -s; echo PAGESIZE $pagesize) | /usr/bin/tail +4 | /usr/bin/awk '
BEGIN {
used = 0;
free = 0;
pagesize = 1024;
}
{
if (NF == 2)
{
if ($1 == "PAGESIZE")
pagesize=$2;
else
{
used += $1;
free += $2;
}
}
}
END {
used *= (pagesize / 1024);
free *= (pagesize / 1024);
printf ("%7d %7d %7d %7d\n", \
free + used, used, free, (used * 100) / (free + used));
}'
;;
SUN4)
#
# Solaris 1.x better know as Sun OS 4.1.x
#
/bin/hostname | /bin/awk ' { printf ("%-14s ", $1); } '
/etc/pstat -s | /usr/ucb/head -1 | /bin/sed 's/k\>//g' | /bin/awk '
{
for (i = 1; i <= NF; i++)
{
if ($i == "used,")
used=$(i - 1)
if ($i == "available")
free=$(i - 1)
}
printf ("%7d %7d %7d %7d\n", \
free + used, used, free, (used * 100) / (free + used));
}'
;;
SOLARIS)
#
# Solaris 2.x
#
/sbin/uname -n | /usr/bin/awk ' { printf ("%-14s ", $1); } '
/usr/sbin/swap -l | /usr/bin/tail +2 | /usr/bin/awk '
BEGIN {
blocks = 0;
free = 0;
}
{
blocks += $(NF - 1) / 2;
free += $(NF - 0) / 2;
}
END {
if (blocks != 0)
{
printf ("%7d %7d %7d %7d\n", \
blocks, blocks - free, free, ((blocks - free) * 100) / blocks);
}
}'
;;
SCO)
#
# SCO
#
/bin/uname -n | /usr/bin/awk ' { printf ("%-14s ", $1); } '
/etc/swap -l | /bin/tail +2 | /usr/bin/awk '
BEGIN {
blocks = 0;
free = 0;
}
{
blocks += $(NF - 1) / 2;
free += $(NF - 0) / 2;
}
END {
printf ("%7d %7d %7d %7d\n", \
blocks, blocks - free, free, ((blocks - free) * 100) / blocks);
}'
;;
DGUX)
uname -n | awk ' { printf ("%-14s ", $1); } '
freeswap=`/usr/bin/sar -r 1 1 | /usr/bin/tail -1 | \
/usr/bin/awk ' { print $3 } ' `
blocks=`/usr/bin/admpdisk -o list -a | /usr/bin/fgrep swap | /usr/bin/awk '
BEGIN {
blocks = 0;
}
{
blocks += $(NF);
}
END {
printf ("%d\n", blocks);
}'`
echo $freeswap $blocks | /usr/bin/awk '
BEGIN {
blocks = 0;
free = 0;
}
{
free += $1 / 2;
blocks += $2 / 2;
}
END {
printf ("%7d %7d %7d %7d\n", \
blocks, blocks - free, free, ((blocks - free) * 100) / blocks);
}'
;;
HPUX)
HPNAME="`uname -n`"
export HPNAME
/etc/swapinfo | /bin/tail +3 | /usr/bin/awk "
{
if (\$1 == \"dev\" || \$1 == \"fs\")
{
printf (\"%-14s %7d %7d %7d %8s\n\", \"$HPNAME\", \$2, \$3, \$4, \$5);
}
}" | sed -e s/%//
;;
SGI)
uname -n | awk ' { printf ("%-14s ", $1); } '
/sbin/swap -l | /usr/bin/tail +2 | /usr/bin/awk '
BEGIN {
blocks = 0;
free = 0;
line = 1;
}
{
if (line == 0)
{
blocks += $(NF - 1) / 2;
free += $(NF - 2) / 2;
line = 1;
}
else
line = 0;
}
END {
printf ("%7d %7d %7d %7d\n", \
blocks, blocks - free, free, ((blocks - free) * 100) / blocks);
}'
;;
OSF1)
#
# DEC OSF/1 (or Digital Unix)
#
/usr/bin/hostname | /usr/bin/awk ' { printf ("%-14s ", $1); } '
pagesize=`/usr/bin/pagesize`
(swapon -s; echo PAGESIZE $pagesize) | awk 'BEGIN {
flag = 0; total = 0; used = 0; pagesize = 8192 }
{
if ($1 == "PAGESIZE")
{ pagesize = $2 }
if( $1 == "Total" && $2 == "swap" && $3 == "allocation:" )
{ flag = 1 }
if ( $1 == "Allocated" && flag == 1 && total == 0)
{ total = $3 }
if ( $1 == "In-use" && flag == 1 && used == 0 )
{ used = $3 }
}
END {
total *= (pagesize / 1024);
used *= (pagesize / 1024);
free = total - used;
printf ("%7d %7d %7d %7d\n", \
total, used, free, (used * 100) / total);
}'
;;
ULTRIX)
#
# Dec Ultrix
#
/bin/hostname | /bin/awk ' { printf ("%-14s ", $1); } '
/etc/pstat -s | /bin/sed 's/k//g' | /bin/awk '
BEGIN {
used = 0;
free = 0;
}
{
for (i = 1; i <= NF; i++)
{
if ($i == "used")
used += $(i - 1)
if ($i == "free,")
free += $(i - 1)
}
}
END {
printf ("%7d %7d %7d %7d\n", \
free + used, used, free, (used * 100) / (free + used));
}'
;;
esac